package com.sky.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * AliOssProperties 是一个用于封装阿里云 OSS 配置属性的 Java Bean。
 * 该类通常与 application.yml 或 application.properties 中的配置项绑定。
 */
@Component  // 将当前类的对象纳入 Spring 容器进行管理（即自动注册为一个 Bean）
@ConfigurationProperties(prefix = "sky.alioss")
// 将配置文件中以 "sky.alioss" 为前缀的属性映射到此类的字段上
@Data       // Lombok 注解，自动生成 getter/setter/toString/equals/hashCode 等方法
public class AliOssProperties {

    /**
     * OSS 服务的访问域名（例如 oss-cn-beijing.aliyuncs.com）
     * 对应配置项：sky.alioss.endpoint
     */
    private String endpoint;

    /**
     * 阿里云账号或 RAM 子账号的 AccessKey ID
     * 对应配置项：sky.alioss.accessKeyId
     */
    private String accessKeyId;

    /**
     * 阿里云账号或 RAM 子账号的 AccessKey Secret，用于签名认证
     * 对应配置项：sky.alioss.accessKeySecret
     */
    private String accessKeySecret;

    /**
     * 默认使用的 OSS Bucket 名称
     * 对应配置项：sky.alioss.bucketName
     */
    private String bucketName;

}
